/**
 * 全局主题切换功能
 * 适用于所有工具页面
 */

(function() {
    'use strict';
    
    /**
     * 初始化主题
     */
    function initTheme() {
        // 从localStorage读取主题设置，默认为深色
        const savedTheme = localStorage.getItem('global-theme') || 'dark';
        applyTheme(savedTheme);
    }
    
    /**
     * 应用主题
     * @param {string} theme - 'light' 或 'dark'
     */
    function applyTheme(theme) {
        if (theme === 'dark') {
            document.documentElement.classList.add('dark-theme');
            document.body.classList.add('dark-theme');
        } else {
            document.documentElement.classList.remove('dark-theme');
            document.body.classList.remove('dark-theme');
        }
    }
    
    /**
     * 切换主题
     */
    function toggleTheme() {
        const isDark = document.documentElement.classList.toggle('dark-theme');
        document.body.classList.toggle('dark-theme');
        const theme = isDark ? 'dark' : 'light';
        
        // 保存到localStorage
        localStorage.setItem('global-theme', theme);
        
        // 显示提示（如果UIUtils可用）
        const themeText = isDark ? '深色' : '浅色';
        if (typeof UIUtils !== 'undefined' && UIUtils.showToast) {
            UIUtils.showToast(`已切换到${themeText}主题`, 'info', 1500);
        }
    }
    
    /**
     * 绑定主题切换按钮事件
     */
    function bindThemeToggle() {
        const toggleBtn = document.getElementById('globalThemeToggle');
        if (toggleBtn) {
            toggleBtn.addEventListener('click', toggleTheme);
        }
    }
    
    // 页面加载时初始化
    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', function() {
            initTheme();
            bindThemeToggle();
        });
    } else {
        initTheme();
        bindThemeToggle();
    }
    
    // 导出到全局（供其他脚本使用）
    window.ThemeManager = {
        init: initTheme,
        toggle: toggleTheme,
        apply: applyTheme
    };
})();
